<?php

//Swoole\Runtime::enableCoroutine(true, SWOOLE_HOOK_ALL);

//function test()
//{
//    co::sleep(2);
//
//    echo \Swoole\Coroutine::getUid() . PHP_EOL;
//}
//
//function test2()
//{
//    co::sleep(1);
//
//    echo \Swoole\Coroutine::getUid() . PHP_EOL;
//}
//
//co::create(function ()
//{
//    test2();
//});
//
//go(function ()
//{
//    test();
//});
//go(function ()
//{
//    test();
//    test2();
//});

//go(function ()
//{
//    \co::sleep(1.0);
//    go(function ()
//    {
//        \co::sleep(1.0);
//        go(function ()
//        {
//            \co::sleep(1.0);
//            echo "co[3] end\n";
//        });
//        echo "co[2] end\n";
//    });
//
//    echo "co[1] end\n";
//});


//Swoole\Runtime::enableCoroutine();
//
//go(function () {
//    echo "a";
//    defer(function () {
//        echo "~a";
//    });
//    echo "b";
//    defer(function () {
//        echo "~b";
//    });
//    sleep(1);
//    echo "c";
//});


//function test1()
//{
//    test2();
//}
//
//function test2()
//{
//    co::sleep(2);
////    while (true)
////    {
////        co::sleep(10);
////        echo "test2 \n";
////    }
//}
//
//$cid = go(function ()
//{
//    test1();
//});
//
//
//go(function () use ($cid)
//{
//    while (true)
//    {
////        echo "BackTrace[$cid]:\n-----------------------------------------------\n";
////        //返回数组，需要自行格式化输出
////        var_dump(co::getBackTrace($cid))."\n";
//        var_dump(Co::exists($cid));
//        co::sleep(1);
//    }
//});

//555
//123